#include <iostream>
#include <stdio.h>
using namespace std;

class func1
{
public:
	virtual void print() = 0;
	virtual int add(int a, int b) = 0;
};

class func2
{
public:
    virtual void print() = 0;
	virtual int add(int a, int b) = 0;
	virtual int minus(int a, int b) = 0;
};

class parent
{
public:
	int a;
};

class Child : public parent, public func1, public func2
{
public:  
	void print()
	{
		cout<<"Child::print"<<endl;
	}

	int add(int a, int b)
	{
		return a + b;
	}

	int minus(int a, int b)
	{
		return a - b;
	}
};

int main()
{
	Child c;
	c.print();
	cout<<c.add(13, 14)<<endl;
	cout<<c.minus(520, 1314)<<endl;

	func1* i1 = &c;  
	func2* i2 = &c;
	cout<<i1->add(520, 13)<<endl;
	cout<<i2->add(520, 14)<<endl;
}
